Functional Test Adds Value
by Brian Wood, Automotive Application Engineer
Hewlett Packard Co.
Some engineers say that functional test adds no value to a product, and in the auto industry, where they pinch their pennies very tightly, there s a strong desire to eliminate test. There s real value in functional test, though. As modern printed-circuit technologies make in-circuit test increasingly difficult, functional test is often the last hope for finding defective modules.
If you are developing functional tests for electronic control modules, you face four separate challenges. You must:
- develop tests intelligently and quickly,
- develop tests that run as quickly as possible,
- use test results to improve the manufacturing process, and
- develop reliable and serviceable test systems
Develop tests quickly
There are several ways to develop functional tests quickly when the boss throws a test spec on your already overcrowded lap:
- Reuse measurement routines. One way to do this by carefully documenting and archiving your test programs. Perhaps a better method is to use a test executive that encourages reuse by imposing a methodology on your test-development process. The executive should allow you to save tests in a library with search functions to make it easy to find and modify tests that have already been developed.
- Write test programs that can easily accommodate different versions of a module. To do this, you create text files that contains information about each version of the module. When the test program begins running, it determines the version under test, reads the appropriate text file, and sets test variables accordingly.
- Use good debug methods. When tests do not run correctly, you must find and fix the trouble quickly. Do the easy stuff first and work your way down the list to the harder and more time-consuming fixes. A real time-saver is a test executive that lets you single-step, pause, and loop through a test program. Also beneficial the ability to talk directly to instruments while paused and then restore the state of the system to whatever it was prior to your manual intervention. A system that incorporates such state management should also be able to tell you, at a glance, the state of the symbols, instruments and switches.
Develop faster tests
As a test engineer, you don t have much control over how many boards you must test to meet production schedules. To keep up with production, there are two things you can do: use multiple test stations or develop faster tests. Of these two options, developing faster tests is the best way to go because test equipment is costly to build and maintain. Here are a couple of things you can do to make your test run faster:
- Use DUT-assisted test. Use the vehicle network interface of the module under test to run a downloaded test or an internal diagnostic. Doing this can cut minutes from a test, but only if designers include built-in tests. If your company s modules do not have this capability, you must try to improve the link to R&D. If you re in R&D, you must add this capability to your designs! Your company will not remain competitive without it. It s that important. Figure 4 shows an example of DUT-assisted test using CAN interface actions.
- Use optimizing tools. A good test executive will produce a Pareto chart showing the time spent performing each test as well as the subroutines or procedures that make up the test. (see figure 5). With this information, you can shave test times. Programmed delays and turning the power on and off are two of the biggest bottlenecks.
- Use fast relays in your test system hardware and switch state management in your software. Because there are so many connect/disconnect steps in a long test program, the time spent waiting for relays to open and close can really add up. To reduce this time, use dry-reed relays with switching times of less than 1/2 millisecond. Also, overlap relay closures whenever possible so that relays open and close at the same time.
- Manage instrument states carefully. You can save a lot of test time by minimizing the number of times you change instrument setups. You can do this by grouping tests that have similar test setups. For example, if a test uses a DVM to take many DC readings and one AC reading, make the AC reading at the beginning or end of the test to avoid changing the setup from DC to AC and back to DC. It also helps if you re using instrument drivers that offer state tracking. These are drivers that only send changes to the instrument, minimizing command processing time and other instrument-specific delays.
Tuning the manufacturing process
When electronics assembly and test were manual operations, it was easy to tune the manufacturing process. Test technicians would note common problems and then over lunch or coffee, mention the problems to the assemblers, who could then make better boards or assemblies. Today, with automatic assembly and test equipment, you need to take a more formal approach to quality improvement. Here are some ideas:
- Reorder tests based on history. You should regularly analyze test results and modify the order of tests so that the most commonly failing tests are among the first to run. This will save test time because a module that s destined to fail will most likely fail early in the test sequence, rather than late in the sequence. To do this, you must design the test program to tests to run autonomously and use a test executive that lets you rearrange the test sequence easily.
- Record and analyze test results. Most test executives provide data files containing information on the failing tests. You can then analyze the test results using a spreadsheet program, such as Lotus 1-2-3 or Microsoft Excel, to view the data graphically and make decisions based on trends you see. You can also use analysis packages, such as Derby Associates QSTATS II-SQC, to provide histograms, yield data, Pareto charts, and other reports to help you refine your process.
Develop reliable and serviceable test systems
Engineers like to design circuits, but in a test system, the less custom circuitry there is the better off you will be. It is much easier to service a system that consists of commercially-available instruments than one that has a lot of specially-designed modules. Designing systems that use industry-standard busses and interfaces, such as IEEE 488 and VXIbus, will allow you to build a system with off-the-shelf instruments that will make maintenance much easier.
In addition to being maintainable, you must ensure that your test system is reliable. To ensure that your test system is working correctly, you really need some test-system diagnostics. Developing test-system diagnostics will, in the long run, pay off in reduced downtime and save you money. This is another reason to use commercially-available instruments. Nearly all of them come with some kind of diagnostic software, which will make developing system diagnostics quicker and probably more effective.
The test-system diagnostics should first include self tests for all instruments that have that capability. The diagnostics should also include a comprehensive test of the fixture and the switching system. For example, the diagnostic may include a test attempts to measure a low-voltage signal source by connecting the source to the system voltmeter through as many relays as possible. This test is particularly important if you are switching high currents, something which is commonly done when testing automotive electronic control modules.
To make running the system diagnostics easier, build a simple test fixture that you can snap on to the system easily that routes the loads through the system to a measurement instrument. This fixture also allows you to verify that the internal wiring is intact from the fixture interface to the internal instrumentation.
Functional test really is the only way to ensure that the automotive modules you build work correctly. It is expensive, but when done properly, you can develop reliable test systems that run tests quickly. And with the information they provide, you can improve your manufacturing process. In the end, the added value means you can produce a better product at a better price.
|